MongoDB-তে Document এবং Collection হল ডেটা সংরক্ষণ এবং পরিচালনার মূল উপাদান। Document MongoDB-এর মধ্যে ডেটা সংরক্ষণের ইউনিট হিসেবে কাজ করে, এবং Collection হল সেই ডকুমেন্টগুলির গ্রুপ। MongoDB-তে Java ব্যবহার করে এই দুইটি উপাদানের সাথে কাজ করার জন্য MongoClient, MongoDatabase, এবং MongoCollection ক্লাসগুলো ব্যবহৃত হয়।
এখানে আমরা Document এবং Collection এর সাথে কাজ করার একটি উদাহরণ দেখব।
MongoDB: Document এবং Collection এর মৌলিক ধারণা
- Document:
- MongoDB-তে Document হল BSON (Binary JSON) ফরম্যাটে সংরক্ষিত ডেটার একটি ইউনিট।
- এটি একটি key-value pair (যেমন JSON Object) এবং প্রতিটি ডকুমেন্টে একটি _id ফিল্ড থাকে, যা ডকুমেন্টের জন্য ইউনিক আইডেন্টিফায়ার হিসেবে কাজ করে।
- MongoDB-তে ডেটা JSON বা BSON ফরম্যাটে থাকে, এবং Document হল সেই ডেটার ভিতরকার উপাদান।
- Collection:
- MongoDB-তে Collection হল ডকুমেন্টের একটি গ্রুপ। এটি SQL ডাটাবেসের tables এর মতো কাজ করে, তবে এখানে ডাটা স্কিমা-লেস (schema-less) থাকে, অর্থাৎ একটি collection-এ একাধিক ডকুমেন্ট থাকতে পারে যাদের ভিন্ন ভিন্ন ফিল্ড থাকতে পারে।
- MongoDB-তে একটি collection ডাটাবেসের মধ্যে থাকা একাধিক ডকুমেন্টকে ধরে।
Java MongoDB Example: Document এবং Collection এর সাথে কাজ
MongoDB-তে Document এবং Collection এর সাথে কাজ করতে আপনাকে MongoDB Java Driver ব্যবহার করতে হবে। MongoDB Java Driver ইনস্টল করা হলে, আপনি MongoClient, MongoDatabase, এবং MongoCollection ব্যবহার করে MongoDB-তে ডেটা সংরক্ষণ এবং রিট্রিভ করতে পারবেন।
MongoDB Java Driver Dependency (Maven):
আপনি যদি Maven ব্যবহার করেন, তবে MongoDB Java Driver এর dependency আপনার pom.xml ফাইলে যোগ করতে হবে।
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver</artifactId>
<version>4.3.3</version>
</dependency>
MongoDB-তে Document এবং Collection এর সাথে কাজ করার উদাহরণ:
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class MongoDBExample {
public static void main(String[] args) {
// MongoDB সার্ভারে কানেক্ট করা
MongoClient mongoClient = new MongoClient("localhost", 27017); // ডিফল্ট MongoDB পোর্ট 27017
// ডাটাবেস নির্বাচন বা তৈরি করা
MongoDatabase database = mongoClient.getDatabase("mydb");
// Collection নির্বাচন বা তৈরি করা
MongoCollection<Document> collection = database.getCollection("users");
// একটি ডকুমেন্ট তৈরি করা
Document doc = new Document("name", "John Doe")
.append("age", 30)
.append("address", "123 Main St, New York");
// ডকুমেন্টটি collection-এ ইনসার্ট করা
collection.insertOne(doc);
// MongoClient বন্ধ করা
mongoClient.close();
System.out.println("Document inserted successfully!");
}
}
ব্যাখ্যা:
- MongoClient:
- MongoDB সার্ভারের সাথে কানেক্ট করতে
MongoClientঅবজেক্ট ব্যবহার করা হয়। - এখানে
localhostএবং পোর্ট 27017 ব্যবহার করা হয়েছে, যেটি MongoDB এর ডিফল্ট পোর্ট।
- MongoDB সার্ভারের সাথে কানেক্ট করতে
- MongoDatabase:
getDatabase()মেথড ব্যবহার করে একটি ডাটাবেস নির্বাচন করা হয় অথবা নতুন ডাটাবেস তৈরি করা হয়।
- MongoCollection:
getCollection()মেথডের মাধ্যমে ডাটাবেসের মধ্যে একটি collection নির্বাচন বা তৈরি করা হয়।
- Document:
Documentক্লাস MongoDB তে ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। এটি একটি key-value পেয়ার ধারণ করে।
- insertOne():
insertOne()মেথড ব্যবহার করে একক একটি ডকুমেন্ট collection এ ইনসার্ট করা হয়।
Multiple Documents Insert (একাধিক ডকুমেন্ট ইনসার্ট):
MongoDB-তে একাধিক ডকুমেন্ট ইনসার্ট করতে insertMany() মেথড ব্যবহার করা হয়। এটি একাধিক ডকুমেন্ট একটি collection-এ ইনসার্ট করে।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import java.util.Arrays;
public class InsertManyDocumentsExample {
public static void main(String[] args) {
// MongoDB কানেকশন তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("users");
// একাধিক ডকুমেন্ট তৈরি করা
Document doc1 = new Document("name", "Alice").append("age", 25).append("address", "456 Oak St");
Document doc2 = new Document("name", "Bob").append("age", 28).append("address", "789 Pine St");
// একাধিক ডকুমেন্ট ইনসার্ট করা
collection.insertMany(Arrays.asList(doc1, doc2));
mongoClient.close();
System.out.println("Multiple documents inserted successfully!");
}
}
ব্যাখ্যা:
- এখানে,
insertMany()মেথড ব্যবহার করা হয়েছে যেটি একাধিক ডকুমেন্ট ইনসার্ট করে। Arrays.asList(doc1, doc2)মাধ্যমে ডকুমেন্টগুলির একটি তালিকা তৈরি করা হয়েছে।
Retrieve Documents (ডকুমেন্ট রিট্রিভ করা):
MongoDB থেকে ডেটা রিট্রিভ করার জন্য find() মেথড ব্যবহার করা হয়।
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
public class RetrieveDocumentsExample {
public static void main(String[] args) {
// MongoDB কানেকশন তৈরি করা
MongoClient mongoClient = new MongoClient("localhost", 27017);
MongoDatabase database = mongoClient.getDatabase("mydb");
MongoCollection<Document> collection = database.getCollection("users");
// সব ডকুমেন্ট রিট্রিভ করা
for (Document doc : collection.find()) {
System.out.println(doc.toJson()); // JSON ফরম্যাটে ডকুমেন্ট দেখানো
}
mongoClient.close();
}
}
ব্যাখ্যা:
find()মেথড ব্যবহার করে MongoDB collection থেকে সমস্ত ডকুমেন্ট রিট্রিভ করা হয়েছে।toJson()মেথড ব্যবহার করে ডকুমেন্টকে JSON ফরম্যাটে প্রিন্ট করা হয়েছে।Document এবং Collection এর সাথে কাজ - MongoDB in Java
- MongoDB-তে Document এবং Collection হল ডেটা সংরক্ষণ এবং পরিচালনার মূল উপাদান। Document MongoDB-এর মধ্যে ডেটা সংরক্ষণের ইউনিট হিসেবে কাজ করে, এবং Collection হল সেই ডকুমেন্টগুলির গ্রুপ। MongoDB-তে Java ব্যবহার করে এই দুইটি উপাদানের সাথে কাজ করার জন্য
MongoClient,MongoDatabase, এবংMongoCollectionক্লাসগুলো ব্যবহৃত হয়। - এখানে আমরা Document এবং Collection এর সাথে কাজ করার একটি উদাহরণ দেখব।
MongoDB: Document এবং Collection এর মৌলিক ধারণা
- Document:
- MongoDB-তে Document হল BSON (Binary JSON) ফরম্যাটে সংরক্ষিত ডেটার একটি ইউনিট।
- এটি একটি key-value pair (যেমন JSON Object) এবং প্রতিটি ডকুমেন্টে একটি _id ফিল্ড থাকে, যা ডকুমেন্টের জন্য ইউনিক আইডেন্টিফায়ার হিসেবে কাজ করে।
- MongoDB-তে ডেটা JSON বা BSON ফরম্যাটে থাকে, এবং Document হল সেই ডেটার ভিতরকার উপাদান।
- Collection:
- MongoDB-তে Collection হল ডকুমেন্টের একটি গ্রুপ। এটি SQL ডাটাবেসের tables এর মতো কাজ করে, তবে এখানে ডাটা স্কিমা-লেস (schema-less) থাকে, অর্থাৎ একটি collection-এ একাধিক ডকুমেন্ট থাকতে পারে যাদের ভিন্ন ভিন্ন ফিল্ড থাকতে পারে।
- MongoDB-তে একটি collection ডাটাবেসের মধ্যে থাকা একাধিক ডকুমেন্টকে ধরে।
Java MongoDB Example: Document এবং Collection এর সাথে কাজ
- MongoDB-তে Document এবং Collection এর সাথে কাজ করতে আপনাকে MongoDB Java Driver ব্যবহার করতে হবে। MongoDB Java Driver ইনস্টল করা হলে, আপনি MongoClient, MongoDatabase, এবং MongoCollection ব্যবহার করে MongoDB-তে ডেটা সংরক্ষণ এবং রিট্রিভ করতে পারবেন।
MongoDB Java Driver Dependency (Maven):
- আপনি যদি Maven ব্যবহার করেন, তবে MongoDB Java Driver এর dependency আপনার
pom.xmlফাইলে যোগ করতে হবে। <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>4.3.3</version> </dependency>MongoDB-তে Document এবং Collection এর সাথে কাজ করার উদাহরণ:
import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class MongoDBExample { public static void main(String[] args) { // MongoDB সার্ভারে কানেক্ট করা MongoClient mongoClient = new MongoClient("localhost", 27017); // ডিফল্ট MongoDB পোর্ট 27017 // ডাটাবেস নির্বাচন বা তৈরি করা MongoDatabase database = mongoClient.getDatabase("mydb"); // Collection নির্বাচন বা তৈরি করা MongoCollection<Document> collection = database.getCollection("users"); // একটি ডকুমেন্ট তৈরি করা Document doc = new Document("name", "John Doe") .append("age", 30) .append("address", "123 Main St, New York"); // ডকুমেন্টটি collection-এ ইনসার্ট করা collection.insertOne(doc); // MongoClient বন্ধ করা mongoClient.close(); System.out.println("Document inserted successfully!"); } }ব্যাখ্যা:
- MongoClient:
- MongoDB সার্ভারের সাথে কানেক্ট করতে
MongoClientঅবজেক্ট ব্যবহার করা হয়। - এখানে
localhostএবং পোর্ট 27017 ব্যবহার করা হয়েছে, যেটি MongoDB এর ডিফল্ট পোর্ট।
- MongoDB সার্ভারের সাথে কানেক্ট করতে
- MongoDatabase:
getDatabase()মেথড ব্যবহার করে একটি ডাটাবেস নির্বাচন করা হয় অথবা নতুন ডাটাবেস তৈরি করা হয়।
- MongoCollection:
getCollection()মেথডের মাধ্যমে ডাটাবেসের মধ্যে একটি collection নির্বাচন বা তৈরি করা হয়।
- Document:
Documentক্লাস MongoDB তে ডেটা সংরক্ষণের জন্য ব্যবহৃত হয়। এটি একটি key-value পেয়ার ধারণ করে।
- insertOne():
insertOne()মেথড ব্যবহার করে একক একটি ডকুমেন্ট collection এ ইনসার্ট করা হয়।
Multiple Documents Insert (একাধিক ডকুমেন্ট ইনসার্ট):
- MongoDB-তে একাধিক ডকুমেন্ট ইনসার্ট করতে
insertMany()মেথড ব্যবহার করা হয়। এটি একাধিক ডকুমেন্ট একটি collection-এ ইনসার্ট করে। import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; import java.util.Arrays; public class InsertManyDocumentsExample { public static void main(String[] args) { // MongoDB কানেকশন তৈরি করা MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collection = database.getCollection("users"); // একাধিক ডকুমেন্ট তৈরি করা Document doc1 = new Document("name", "Alice").append("age", 25).append("address", "456 Oak St"); Document doc2 = new Document("name", "Bob").append("age", 28).append("address", "789 Pine St"); // একাধিক ডকুমেন্ট ইনসার্ট করা collection.insertMany(Arrays.asList(doc1, doc2)); mongoClient.close(); System.out.println("Multiple documents inserted successfully!"); } }ব্যাখ্যা:
- এখানে,
insertMany()মেথড ব্যবহার করা হয়েছে যেটি একাধিক ডকুমেন্ট ইনসার্ট করে। Arrays.asList(doc1, doc2)মাধ্যমে ডকুমেন্টগুলির একটি তালিকা তৈরি করা হয়েছে।Retrieve Documents (ডকুমেন্ট রিট্রিভ করা):
- MongoDB থেকে ডেটা রিট্রিভ করার জন্য
find()মেথড ব্যবহার করা হয়। import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import org.bson.Document; public class RetrieveDocumentsExample { public static void main(String[] args) { // MongoDB কানেকশন তৈরি করা MongoClient mongoClient = new MongoClient("localhost", 27017); MongoDatabase database = mongoClient.getDatabase("mydb"); MongoCollection<Document> collection = database.getCollection("users"); // সব ডকুমেন্ট রিট্রিভ করা for (Document doc : collection.find()) { System.out.println(doc.toJson()); // JSON ফরম্যাটে ডকুমেন্ট দেখানো } mongoClient.close(); } }ব্যাখ্যা:
find()মেথড ব্যবহার করে MongoDB collection থেকে সমস্ত ডকুমেন্ট রিট্রিভ করা হয়েছে।toJson()মেথড ব্যবহার করে ডকুমেন্টকে JSON ফরম্যাটে প্রিন্ট করা হয়েছে।
- MongoDB-তে Document এবং Collection দুটি মৌলিক কনসেপ্ট, যেখানে Document হল BSON ফরম্যাটে ডেটার একটি ইউনিট এবং Collection হল সেই ডকুমেন্টের একটি গ্রুপ।
- Java ব্যবহার করে MongoDB-তে ডেটা সংরক্ষণ, রিট্রিভ এবং ম্যানিপুলেট করার জন্য MongoClient, MongoDatabase, এবং MongoCollection ক্লাসগুলো ব্যবহৃত হয়।
- MongoDB-তে Document ইনসার্ট, রিট্রিভ এবং Collection ব্যবহার করা অত্যন্ত সহজ এবং এটি স্কিমা-লেস (schema-less) হওয়ায় আপনি যেকোনো ধরণের ডেটা স্টোর করতে পারবেন।
Conclusion:
- MongoDB-তে Document এবং Collection দুটি মৌলিক কনসেপ্ট, যেখানে Document হল BSON ফরম্যাটে ডেটার একটি ইউনিট এবং Collection হল সেই ডকুমেন্টের একটি গ্রুপ।
- Java ব্যবহার করে MongoDB-তে ডেটা সংরক্ষণ, রিট্রিভ এবং ম্যানিপুলেট করার জন্য MongoClient, MongoDatabase, এবং MongoCollection ক্লাসগুলো ব্যবহৃত হয়।
- MongoDB-তে Document ইনসার্ট, রিট্রিভ এবং Collection ব্যবহার করা অত্যন্ত সহজ এবং এটি স্কিমা-লেস (schema-less) হওয়ায় আপনি যেকোনো ধরণের ডেটা স্টোর করতে পারবেন।
Read more